/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlo;

import dao.InstituicaoAcademicaDao;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import modelo.InstituicaoAcademica;
import modelo.Pais;

/**
 *
 * @author bruno
 */
@ManagedBean
@SessionScoped
public class InstituicaoAcademicaControlo implements Serializable{

    /**
     * Creates a new instance of InstituicaoAcademicaControlo
     */
    private List<InstituicaoAcademica> instituicoesLista;
    private List<InstituicaoAcademica> instituicoesDependenteLista;

    public InstituicaoAcademicaControlo() {
        instituicoesLista = new InstituicaoAcademicaDao().lerTodosComCursos();
        instituicoesDependenteLista = new ArrayList<InstituicaoAcademica>();
    }

    public List<InstituicaoAcademica> getInstituicoesLista() {
        return instituicoesLista;
    }

    public List<InstituicaoAcademica> autoInstituicoes(String inst) {
        List<InstituicaoAcademica> modeloLista = new ArrayList<InstituicaoAcademica>();

        for (InstituicaoAcademica m : instituicoesDependenteLista) {
            if (m.getDesignacao().toLowerCase().contains(inst.toLowerCase())) {
                modeloLista.add(m);
            }
        }

        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(modeloLista.toString()));
        return modeloLista;
    }

    public void actualizarInstituicaoComPais(Pais p) {
        instituicoesDependenteLista.clear();
        for (InstituicaoAcademica i : instituicoesLista) {
            if (i.getPais().getId() == p.getId()) {
                instituicoesDependenteLista.add(i);
            }
        }
        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Nova Lista pais-" + p.getId() + "  \n:" + instituicoesDependenteLista.toString()));
    }
}
